草庐IT

ios - UICollectionView 和 MVVM

全部标签

c# - 在代码隐藏事件中调用 View 模型方法是否会破坏 MVVM?

我想知道这是否会破坏MVVM模式,如果会,为什么会如此糟糕?WPF:代码隐藏:privatevoidButton_Click(objectsender,RoutedEventArgse){ViewModel.CallMethod();}查看模型:publicvoidCallMethod(){//Somecode}恕我直言,它使后台代码非常简单,View模型仍然不知道View和后台代码,并且对View的更改不会影响业务逻辑。在我看来,它比Commands或CallMethodAction更简单明了。我不想要那种“这不是应该怎么做”的回答。我需要一个适当且合乎逻辑的理由来说明为什么这样做会

c# - WPF MVVM Light 单元测试 ViewModels

我不是MVVM模式的常客,这基本上是我第一次使用它。我过去所做的(“普通”WPF)是使用业务层和数据层(通常包含由服务或EntityFramework创建的实体)创建我的View。现在经过一番尝试后,我从MVVMLight创建了一个标准模板并执行了以下操作:定位器:publicclassViewModelLocator{staticViewModelLocator(){ServiceLocator.SetLocatorProvider(()=>SimpleIoc.Default);if(ViewModelBase.IsInDesignModeStatic){SimpleIoc.Defa

c# - 可移植类库不支持System.IO,为什么?

我创建了一个可移植类库,用于我的Monodroid项目。但问题是我需要System.IO库,但不幸的是我无法添加它。我什至尝试通过“添加引用”选项添加它,但没有成功。为什么会这样?我该怎么做? 最佳答案 您不能使用System.IO,因为它不是可移植类库。System.IO进行特定于其运行的操作系统(Windows)的调用,而可移植类库是跨平台的。可以找到您正在寻找的解决方案here:Whatshouldyoudowhenyou’retryingtowriteaportablelibrarybutyouneedsomefunctio

c# - 如何检查 System.IO.File.Delete 是否成功删除文件

使用system.io.file类删除文件后:System.IO.File.Delete(openedPdfs.path);如果文件被成功删除,我需要运行一些代码。只要该方法不返回任何值,我就会在delete方法之后检查文件是否存在。如果它仍然存在,我认为操作失败。问题是,删除方法工作正常,但要删除文件需要几秒钟。Exist函数返回true,因为当时它正在检查文件是否存在。我如何确定System.IO.File.Delete(openedPdfs.path);是否成功完成?代码:FileInfofile=newFileInfo(openedPdfs.path);System.IO.Fi

c# - 带有 Xamarin.iOS 的 C# 中的 UITextField 最大长度

我想将可在iOS应用中的UITextField中输入的字符数限制为25个字符。根据thispost,它可以在Objective-C中像这样完成:-(BOOL)textField:(UITextField*)textFieldshouldChangeCharactersInRange:(NSRange)rangereplacementString:(NSString*)string{NSUIntegernewLength=[textField.textlength]+[stringlength]-range.length;return(newLength>25)?NO:YES;}如何使用

c# - 如何在没有流或系统 io 的情况下压缩字节数组

我正在尝试将图像编码为字节数组并将其发送到服务器。编码和发送部分工作正常,但我的问题是字节数​​组太大,发送时间太长,所以我认为压缩它会使它运行得更快。但实际问题是我不能使用system.io或流。我的目标是.net2.0。谢谢。 最佳答案 usingSystem.IO;usingSystem.IO.Compression;代码:publicstaticbyte[]Compress(byte[]data){MemoryStreamoutput=newMemoryStream();using(DeflateStreamdstream=

c# - 如何使用 MVVM 在 WP7 中聚焦文本框?

该问题已被问过几次,不幸的是答案仅适用于WPF。任何人都知道如何在silverlight中完成此操作?基本上我需要关注代码中的某个文本框。 最佳答案 我已经成功地使用了这种方法http://caliburnmicro.codeplex.com/discussions/222892?ProjectName=caliburnmicropublicclassFocusBehavior:Behavior{protectedoverridevoidOnAttached(){AssociatedObject.GotFocus+=(sender,

c# - 使用 MVVM 的 WPF ComboBox 双向绑定(bind)问题

我有一个Activity具有许多属性的对象。其中之一如下:publicActivityStatusStatus{get{returnstatus;}set{status=value;NotifyPropertyChanged("Status");}}ActivityStatus类只有两个属性:publicGuidGuid{get{returnguid;}set{guid=value;NotifyPropertyChanged("Guid");}}publicstringName{get{returnname;}set{name=value;NotifyPropertyChanged("

c# - 如何在 MVVM 中对异步 ICommand 进行单元测试?

我一直在谷歌搜索甚至Bing-ing,但我没有想出任何令人满意的东西。我有一个包含一些命令的ViewModel,例如:SaveCommand、NewCommand和DeleteCommand。我的SaveCommand执行保存到文件操作,我希望它是一个async操作,这样UI就不会等待它。我的SaveCommand是AsyncCommand的一个实例,它实现了ICommand。SaveCommand=newAsyncCommand(asyncparam=>{Connectioncon=awaitConnection.GetInstanceAsync(m_configurationPat

c# - MVVM - 验证真的需要这么麻烦吗?

在我的应用程序中,我有大量的表单,其中大部分都有自己的绑定(bind)模型!当然数据验证很重要,但是没有比为所有模型实现IDataErrorInfo然后为所有属性编写代码来验证它们更好的解决方案了吗?我已经创建了验证助手,它删除了很多实际的验证代码,但我仍然忍不住觉得我错过了一两个技巧!我可以补充一点,这是我在其中使用MVVM的第一个应用程序,所以我确信我在这个主题上还有很多东西要学习!编辑:这是我非常不喜欢的典型模型的代码(让我解释一下):stringIDataErrorInfo.Error{get{returnnull;}}stringIDataErrorInfo.this[str